package cn.mulanbay.persistent.entity;

import cn.mulanbay.persistent.enums.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 *
 * @author fenghong
 * @create 2022-01-16 10:00
 */
@TableName("user_message")
public class UserMessage implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private Long userId;

    private MessageType messageType;
    private MonitorBussType bussType;
    private MessageSource source;
    private Long sourceId;
    private MessageSendStatus sendStatus;
    private LogLevel logLevel;

    private String title;

    private String content;

    private Integer failCount;

    private LocalDateTime expectSendTime;

    private LocalDateTime lastSendTime;

    private String nodeId;

    private Integer code;

    private String url;

    private String remark;

    private LocalDateTime createdTime;

    private LocalDateTime lastModifyTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public MessageType getMessageType() {
        return messageType;
    }

    public void setMessageType(MessageType messageType) {
        this.messageType = messageType;
    }

    public MonitorBussType getBussType() {
        return bussType;
    }

    public void setBussType(MonitorBussType bussType) {
        this.bussType = bussType;
    }

    public MessageSource getSource() {
        return source;
    }

    public void setSource(MessageSource source) {
        this.source = source;
    }

    public Long getSourceId() {
        return sourceId;
    }

    public void setSourceId(Long sourceId) {
        this.sourceId = sourceId;
    }

    public MessageSendStatus getSendStatus() {
        return sendStatus;
    }

    public void setSendStatus(MessageSendStatus sendStatus) {
        this.sendStatus = sendStatus;
    }

    public LogLevel getLogLevel() {
        return logLevel;
    }

    public void setLogLevel(LogLevel logLevel) {
        this.logLevel = logLevel;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
    public Integer getFailCount() {
        return failCount;
    }

    public void setFailCount(Integer failCount) {
        this.failCount = failCount;
    }
    public LocalDateTime getExpectSendTime() {
        return expectSendTime;
    }

    public void setExpectSendTime(LocalDateTime expectSendTime) {
        this.expectSendTime = expectSendTime;
    }
    public LocalDateTime getLastSendTime() {
        return lastSendTime;
    }

    public void setLastSendTime(LocalDateTime lastSendTime) {
        this.lastSendTime = lastSendTime;
    }
    public String getNodeId() {
        return nodeId;
    }

    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }
    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }
    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }
    public LocalDateTime getLastModifyTime() {
        return lastModifyTime;
    }

    public void setLastModifyTime(LocalDateTime lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }

    @Override
    public String toString() {
        return "UserMessage{" +
            "id=" + id +
            ", userId=" + userId +
            ", messageType=" + messageType +
            ", bussType=" + bussType +
            ", source=" + source +
            ", sourceId=" + sourceId +
            ", sendStatus=" + sendStatus +
            ", logLevel=" + logLevel +
            ", title=" + title +
            ", content=" + content +
            ", failCount=" + failCount +
            ", expectSendTime=" + expectSendTime +
            ", lastSendTime=" + lastSendTime +
            ", nodeId=" + nodeId +
            ", code=" + code +
            ", url=" + url +
            ", remark=" + remark +
            ", createdTime=" + createdTime +
            ", lastModifyTime=" + lastModifyTime +
        "}";
    }
}
